// 对话模拟
$(function () {
  var clickArr = [
    {
      id:'21',
      q:'什么是自主发包',
      a:'自主发包包括直接委托和自主招标，直接选择具体的承建单位+自主发包图示”；事件为用户选择的动作触发，点击图示可查看大图',
      img:'../assets/images/po1.png'
    },
    {
      id:'22',
      q:'什么是委托招标',
      a:'委托招投标代理的工程，只需创建委托招标代理机构的业务，比如你委托一家A招标代理机构对你的建设项目进行施工监理招投标，那只需在系统中创建一个项目施工监理招标代理的业务委托发送给招标代理机构就可以了，具体的施工标段、监理都不需要再进行发包，施工、监理具体的中标结果由招标代理机构进行中标登记+委托招标图示”；事件为用户选择的动作触发，点击图示可查看大图',
      img:'../assets/images/po2.png'
    },
    {
      id:'23',
      q:'什么是联合体',
      a:'联合体中标由牵头单位在系统中进行工程承接操作，确认承接后自动与联合体的其他单位建立业务委托关系'
    }
  ];
  var aqArr = [
    {
      id:'1',
      q:'什么是委托方式',
      a:'委托方式即发包方式，是区分项目/工程在业务委托中是由自己直接委托承接单位还通过招标代理机构进行招投标确定承接单位'
    },{
      id:'2',
      q:'什么是业务类别',
      a:'业务类别是发包的工程/标段、委托业务的分类。比如找一家设计院进行项目施工图设计，业务类别就是“设计委托”；找一家施工单位进行项目的施工及设备安装，业务类别就是“施工总承包/专业承包/专项分包”；委托审查机构进行施工图审查，业务类别就是“审图委托”；委托招标代理机构进行代理项目招投标，业务类别就是“招标代理委托”……'
    },{
      id:'3',
      q:'什么是标段',
      a:'标段一般是指在公路、铁路等长线路建设工程修建时，按施工招投标划分的段，在这里泛指的是按照一次招投标或者委托协议规定的施工、监理服务内容，一个标段可以理解为一个工程，由于某些项目建设过程中，施工多次招投标，所以每次招投标或直接委托的施工项目/工程称之为施工1标段、施工2标段，如XX项目施工总承包1标段、XX项目工程监理2标段……'
    },{
      id:'4',
      q:'什么是委托业务',
      a:'委托业务是一个比较泛的概念，其实勘察设计委托、施工总承包、监理委托都属于业务委托，但勘察、设计、施工、监理我们一般称之为XX工程、XX施工监理标段，为了不同的业务类型在称呼上符合行业的称呼习惯，在这里我们把招标代理委托和审图委托称之为委托业务，无论是工程、标段还是委托业务都是表达甲方和乙方之间的业务委托关系，只是委托的内容不同'
    },{
      id:'5',
      q:'什么是工程',
      a:'这里的工程是为了区别于建设项目，现在行业内工程和项目的称呼都是根据个人的习惯，比如一家施工单位承接了一个建设项目的施工，有的人可能会说我承接了一个项目，有的人则会说我承接了一个工程，在住建云系统，为了区别工程和项目，统一称呼规范，方便用户理解，住建云系统中建设项目简称项目，建设项目承发包中“包”称之为工程，比如“XX项目工程勘察”这就是一个工程，“XX项目地基基础专业承包”这也是一个工程，施工监理的标段都可以理解为一个工程'
    }
  ];
  function isNull( str ){
    if ( str === "" ) return true;
    var reg = "^[ ]+$";
    return new RegExp(reg).test(str);
  }

  var inputText = $('#inputText');
  var talkList = $("#talk-list");
  $('#send').on('click',send);

  function appendQ(data,wen){
    var txt = null;
    if(wen){
      txt = "<li class='user'><span>"+data+"?</span></li>"
    }else {
      txt = "<li class='user'><span>"+data+"</span></li>"
    }
    var h = talkList.prop('scrollHeight');
    talkList.append(txt).scrollTop(h);
  }

  function appendA(data,src){
    var atxt = null;
    if(data==='img'){
      atxt = "<li class='machine'><span><img src='"+src+"' class='thumbnail'></span></li>";
    }else {
      atxt = "<li class='machine'><span>"+data+"</span></li>";
    }
    var h = talkList.prop('scrollHeight');
    talkList.append(atxt).scrollTop(h);
  }


  $(document).on('click','.question',function(){
    var id = $(this).data('id');
    var aItem = aqArr.filter(
      function(item){
        return item.id == id
      }
    )[0];
    appendQ(aItem.q,true);
    appendA(aItem.a)
  });

  function send() {
    var val = inputText.val();
    if(!isNull(val)){
      appendQ(val);
      inputText.val('');
      reply(val)
    }else {
      //alert('物质字符')
    }
  }

  function reply(data){

    //全字段匹配直接返回答案
    var allItem = aqArr.filter(
      function(item){
        return item.q == data
      }
    );
    if(allItem.length!==0){
      appendA(allItem[0].a);
      return false
    }

    //模糊字段匹配 返回问题列表
    var reg = new RegExp(data);
    var aItem = aqArr.filter(
      function(item){
        return item.q.match(reg)
      }
    );
    if(aItem.length===0){
      var atxt = "";
      for (var i =0 ; i<aqArr.length ;i++){
        atxt += "<br><a class='question' href='javascript:;' data-id='"
          +aqArr[i].id+"'>"+(i+1)+"."+aqArr[i].q+"?</a>";
      }
      var cry = "<img class='expression' src='../assets/images/cry.png'>";
      appendA(cry + 'I am so sorry，未能匹配到你的问题答案，你可以选择查看下列问题'+atxt);
    }else {
      var atxt2 = "";
      for (var j =0 ; j<aItem.length ;j++){
        atxt2 += "<br><a class='question' href='javascript:;' data-id='"
          +aItem[j].id+"'>"+(j+1)+"."+aItem[j].q+"?</a>";
      }
      appendA('您是否想找以下问题,您可以输入或点击'+atxt2);


    }
  }

  document.onkeydown=function(event) {
    var e = event || window.event || arguments.callee.caller.arguments[0];
    if (e && e.keyCode == 13) {
      $('#send').click();
    }
  };


//操作流程模拟

  function clickAns(data) {
    var onArr = clickArr.filter(
      function(item){
        return item.id == data
      }
    );
    var obj =onArr[0];
    if(obj.img){
      appendA(obj.a);
      setTimeout(function () {
        appendA("img",obj.img)
      },300);

    }else {
      appendA(obj.a)
    }

  }

  var navTabs = $('#navTabs');
  navTabs.children('.basicsBtn').on('click',function () {
    var id = $(this).data('id');
    var index = $(this).index();
    $(this).addClass('blue').siblings().removeClass('blue');
    clickAns(id)
  });

  $('#lht').click(function () {
    var id = $(this).data('id');
    clickAns(id)
  });


  $(document).on('click','.thumbnail',function(){
    var src = $(this).attr('src');
    $('.mark').addClass('active');
    $('#img').attr('src',src)
  });
  $('.mark').click(function () {
    $(this).removeClass('active')
  });

  $('.talk-tag').children('li').click(function () {
    var id = $(this).data('id');
    var aItem = aqArr.filter(
      function(item){
        return item.id == id
      }
    )[0];
    appendQ(aItem.q,true);
    appendA(aItem.a)
  });
});
